﻿namespace AiMachineControl.Model
{
    public class AppSettings
    {
        /// <summary>
        /// AI模型文件夹目录
        /// </summary>
        public string AiModelFolder { get; set; } = string.Empty;
        /// <summary>
        /// AI计算启动命令地址
        /// </summary>
        public string AiCalcDosAddress { get; set; } = string.Empty;
        /// <summary>
        /// 后台WebSoket通讯地址
        /// </summary>
        public string SoketServerUrl { get; set; } = string.Empty;
        /// <summary>
        /// 模型文件服务器地址
        /// </summary>
        public string AiModelServerUrl { get; set; } = string.Empty;
        /// <summary>
        /// 模型文件获取接口地址
        /// </summary>
        public string AiModelInterfaceUrl { get; set; } = string.Empty;
        /// <summary>
        /// Ai声音处理软件地址
        /// </summary>
        public string AiVoice { get; set; } = string.Empty;
        /// <summary>
        /// 换脸处理软件地址
        /// </summary>
        public string AiFace { get; set; } = string.Empty;
        /// <summary>
        /// 数字人处理软件地址
        /// </summary>
        public string AiPerson { get; set; } = string.Empty;
        /// <summary>
        /// ChatGPT处理软件地址
        /// </summary>
        public string ChatGpt { get; set; } = string.Empty;

        public MachineInfo? MachineInfo { get; set; } 
    }
    public class MachineInfo
    {
        /// <summary>
        /// 算力机编号
        /// </summary>
        public int Id { get; set; }
        /// <summary>
        /// 当前算力机IP地址
        /// </summary>
        public string IPAddress { get; set; } = string.Empty;
        /// <summary>
        /// 支持的AI模型类型
        /// </summary>
        public string ModelType { get; set; } = string.Empty;
        /// <summary>
        /// 当前算力机端口
        /// </summary>
        public int Port { get; set; }
        /// <summary>
        /// 当前算力机推流地址
        /// </summary>
        public string PushAddress { get; set; } = string.Empty;
        /// <summary>
        /// 当前算力机输出地址
        /// </summary>
        public string ShowAddress { get; set; } = string.Empty;

    }
}
